/**
 * 用户信息
 */
export interface UserDTO {
  id: string;
  /**
   * 登录账号, 要求在创建时验证唯一性
   */
  username: string;

  /**
   * 姓名
   */
  name?: string;

  /**
   * 密码
   */
  password: string;

  /**
   * 角色: ROLE_ADMIN、ROLE_STUDENT、ROLE_ACDEMIC_DEAN、ROLE_TEACHER
   *     : 系统管理员，学生，教务员、教师
   */
  role: string;

  /**
   * 密码失效时间, null表示永久有效
   */
  passwordExpireDate?: string;

  /**
   * 账号是否激活
   */
  enabled?: boolean;

  /**
   * 账号失效时间，null表示永久有效
   */
  accountExpireDate?: string;

  /**
   * 是否本地登录账号，非本地账号需要连接OA或其他系统验证登录
   */
  localAccount?: boolean;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 最后修改密码的时间，系统自动生成
   */
  changePasswordTime?: string;

  /**
   * 账号是否被锁住（通常是同一天内连续多次输错密码）
   */
  accountLocked?: boolean;

  /**
   * 已分配的权限清单
   */
  authorities?: Array<string>;

  /**
   * 用户所属员工, 用于新增和修改
   */
  employeeId: string;

  /**
   * 为该用户分配角色，用于新增和修改
   */
  roleIds?: Set<string>;
}
